Remote direct memory access (RDMA) is increasingly utilized to facilitate high throughput, low latency data transfers between computing devices. With RDMA, data can be written directly to, or read directly from, memory of another computing device using a network adapter and without using an operating system or requiring any context switches. Accordingly, data communications can occur relatively quickly and in parallel with other system operations. In one particular example, storage controller computing devices in storage networks can leverage RDMA to perform high speed, low latency data mirroring to facilitate high availability, although there are many other exemplary uses of RDMA in storage networks and other types of computing environments.
Currently, the OpenFabrics Alliance (OFA) distributes an OpenFabrics Enterprise Distribution (OFED) software stack that provides a standard software framework and application programming interface (API) that facilitates use of RDMA services by client applications. However, OFED only supports a limited number of transport protocols for communicating data using RDMA, such as InfiniBand, Internet Wide Area RDMA Protocol (iWARP), and RDMA Over Converged Ethernet (RoCE).
Accordingly, only certain specialized hardware RDMA capable devices configured to communicate according to the supported protocols can be used to provide RDMA services in combination with an OFED software stack. In particular, relatively generic DMA capable peripheral component interconnect (PCI) devices, such as non-transparent bridges or non-volatile memory (NVM), cannot be utilized in combination with the OFED stack without significant rewriting of existing RDMA client applications.